import 'package:get/get.dart';
import 'package:yi_shop/views/address/add.dart';
import 'package:yi_shop/views/address/edit.dart';
import 'package:yi_shop/views/address/manage.dart';
import 'package:yi_shop/views/address/receive.dart';
import 'package:yi_shop/views/bargain/accelerate.dart';
import 'package:yi_shop/views/bargain/index.dart';
import 'package:yi_shop/views/brand/classify.dart';
import 'package:yi_shop/views/brand/info.dart';
import 'package:yi_shop/views/brand/manufacture.dart';
import 'package:yi_shop/views/brand/zone.dart';
import 'package:yi_shop/views/community/publish.dart';
import 'package:yi_shop/views/community/topic.dart';
import 'package:yi_shop/views/community/topic/comment.dart';
import 'package:yi_shop/views/community/topic/info.dart';
import 'package:yi_shop/views/coupon/center.dart';
import 'package:yi_shop/views/coupon/explain.dart';
import 'package:yi_shop/views/coupon/info.dart';
import 'package:yi_shop/views/evaluate/center.dart';
import 'package:yi_shop/views/evaluate/publish.dart';
import 'package:yi_shop/views/favorable/choice.dart';
import 'package:yi_shop/views/group/buy.dart';
import 'package:yi_shop/views/group/confirm.dart';
import 'package:yi_shop/views/group/info.dart';
import 'package:yi_shop/views/group/order.dart';
import 'package:yi_shop/views/home/index.dart';
import 'package:yi_shop/views/invite/detail.dart';
import 'package:yi_shop/views/invite/gift.dart';
import 'package:yi_shop/views/invoice/assistant.dart';
import 'package:yi_shop/views/invoice/explain.dart';
import 'package:yi_shop/views/invoice/issue.dart';
import 'package:yi_shop/views/invoice/modify.dart';
import 'package:yi_shop/views/invoice/rise.dart';
import 'package:yi_shop/views/lucky/draw.dart';
import 'package:yi_shop/views/lucky/record.dart';
import 'package:yi_shop/views/lucky/rule.dart';
import 'package:yi_shop/views/member/center/grow.dart';
import 'package:yi_shop/views/member/center/index.dart';
import 'package:yi_shop/views/member/center/question.dart';
import 'package:yi_shop/views/member/center/task.dart';
import 'package:yi_shop/views/message/interact.dart';
import 'package:yi_shop/views/message/notice.dart';
import 'package:yi_shop/views/message/trade.dart';
import 'package:yi_shop/views/mine/attention/index.dart';
import 'package:yi_shop/views/mine/collect/index.dart';
import 'package:yi_shop/views/mine/coupon/list.dart';
import 'package:yi_shop/views/mine/fans/index.dart';
import 'package:yi_shop/views/mine/footmark/index.dart';
import 'package:yi_shop/views/mine/opinion/feedback.dart';
import 'package:yi_shop/views/mine/setting/account.dart';
import 'package:yi_shop/views/mine/setting/gesture.dart';
import 'package:yi_shop/views/mine/setting/identification.dart';
import 'package:yi_shop/views/mine/setting/info.dart';
import 'package:yi_shop/views/mine/sign/in.dart';
import 'package:yi_shop/views/mine/sign/rule.dart';
import 'package:yi_shop/views/product/normal/info.dart';
import 'package:yi_shop/views/recommended/popularity.dart';
import 'package:yi_shop/views/sale/barter/info.dart';
import 'package:yi_shop/views/sale/refund.dart';
import 'package:yi_shop/views/sale/refund/info.dart';
import 'package:yi_shop/views/search/product.dart';
import 'package:yi_shop/views/search/result.dart';
import 'package:yi_shop/views/seckill/list.dart';
import 'package:yi_shop/views/service/center.dart';
import 'package:yi_shop/views/shop/cart.dart';
import 'package:yi_shop/views/shop/list.dart';
import 'package:yi_shop/views/shop/news.dart';
import 'package:yi_shop/views/store/home.dart';
import 'package:yi_shop/views/store/list.dart';
import 'package:yi_shop/views/system/order/confirm/un_contact.dart';
import 'package:yi_shop/views/system/order/list.dart';
import 'package:yi_shop/views/telephone/charge.dart';
import 'package:yi_shop/views/wallet/bank/list.dart';
import 'package:yi_shop/views/wallet/card/case.dart';
import 'package:yi_shop/views/wallet/mine.dart';

class RoutePath {
  RoutePath._();

  static const String home = '/';

  static const String bargain = '/bargain';

  static const String bargainAccelerate = '/bargain/accelerate';

  static const String groupBuy = '/group/buy';

  static const String groupOrder = '/group/order';

  static const String groupConfirm = '/group/confirm';

  static const String groupInfo = '/group/info';

  static const String couponCenter = '/coupon/center';

  static const String couponExplain = '/coupon/explain';

  static const String couponInfo = '/coupon/info';

  static const String mineCouponList = '/mine/coupon/list';

  static const String mineSignIn = '/mine/sign/in';

  static const String mineSignRule = '/mine/sign/rule';

  static const String mineSettingAccount = '/mine/setting/account';

  static const String mineSettingGesture = '/mine/setting/gesture';

  static const String mineSettingInfo = '/mine/setting/info';

  static const String mineSettingIdentification = '/mine/setting/identification';

  static const String mineAttention = '/mine/attention';

  static const String mineFans = '/mine/fans';

  static const String mineCollect = '/mine/collect';

  static const String mineFootmark = '/mine/footmark';

  static const String mineOpinionFeedback = '/mine/opinion/feedback';

  static const String memberCenter = '/member/center';

  static const String memberCenterGrow = '/member/center/grow';

  static const String memberCenterTask = '/member/center/task';

  static const String memberCenterQuestion = '/member/center/question';

  static const String brandZone = '/brand/zone';

  static const String brandClassify = '/brand/classify';

  static const String brandInfo = '/brand/info';

  static const String brandManufacture = '/brand/manufacture';

  static const String favorableChoice = '/favorable/choice';

  static const String shopCart = '/shop/cart';

  static const String shopList = '/shop/list';

  static const String shopNews = '/shop/news';

  static const String productNormalInfo = '/product/normal/info';

  static const String systemOrderConfirmUnContact = '/system/order/confirm/unContact';

  static const String systemOrderList = '/system/order/list';

  static const String addressReceive = '/address/receive';

  static const String addressEdit = '/address/edit';

  static const String addressAdd = '/address/add';

  static const String addressManage = '/address/manage';

  static const String luckyDraw = '/lucky/draw';

  static const String luckyRule = '/lucky/rule';

  static const String luckyRecord = '/lucky/record';

  static const String telephoneCharge = '/telephone/charge';

  static const String invoiceAssistant = '/invoice/assistant';

  static const String invoiceRise = '/invoice/rise';

  static const String invoiceModify = '/invoice/modify';

  static const String invoiceExplain = '/invoice/explain';

  static const String invoiceIssue = '/invoice/issue';

  static const String messageTrade = '/message/trade';

  static const String messageNotice = '/message/notice';

  static const String messageInteract = '/message/interact';

  static const String communityTopic = '/community/topic';

  static const String communityPublish = '/community/publish';

  static const String communityTopicInfo = '/community/topic/info';

  static const String communityTopicComment = '/community/topic/comment';

  static const String storeList = '/store/list';

  static const String storeHome = '/store/home';

  static const String inviteGift = '/invite/gift';

  static const String inviteDetail = '/invite/detail';

  static const String saleRefund = '/sale/refund';

  static const String saleRefundInfo = '/sale/refund/info';

  static const String saleBarterInfo = '/sale/barter/info';

  static const String evaluateCenter = '/evaluate/center';

  static const String evaluatePublish = '/evaluate/publish';

  static const String walletMine = '/wallet/mine';

  static const String walletBankList = '/wallet/bank/list';

  static const String walletCardCase = '/wallet/card/case';

  static const String serviceCenter = '/service/center';

  static const String seckillList = '/seckill/list';

  static const String searchProduct = '/search/product';

  static const String searchResult = '/search/result';

  static const String recommendedPopularity = '/recommended/popularity';

  static const String login = '/login';

  static final List<GetPage> pages = [
    GetPage(
        title: '首页',
        name: home,
        page: () => const HomePage(),
        binding: BindingsBuilder.put(() => HomeController())),
    GetPage(
        title: '砍价专区',
        name: bargain,
        page: () => const BargainPage(),
        binding: BindingsBuilder.put(() => BargainController())),
    GetPage(
        title: '加速砍价',
        name: bargainAccelerate,
        page: () => const BargainAcceleratePage(),
        binding: BindingsBuilder.put(() => BargainAccelerateController())),
    GetPage(
        title: '团购专区',
        name: groupBuy,
        page: () => const GroupBuyPage(),
        binding: BindingsBuilder.put(() => GroupBuyController())),
    GetPage(
        title: '拼团列表',
        name: groupOrder,
        page: () => const GroupOrderPage(),
        binding: BindingsBuilder.put(() => GroupOrderController())),
    GetPage(
        title: '确认订单',
        name: groupConfirm,
        page: () => const GroupConfirmPage(),
        binding: BindingsBuilder.put(() => GroupConfirmController())),
    GetPage(
        title: '商品详情',
        name: groupInfo,
        page: () => const GroupInfoPage(),
        binding: BindingsBuilder.put(() => GroupInfoController())),
    GetPage(
        title: '领券中心',
        name: couponCenter,
        page: () => const CouponCenterPage(),
        binding: BindingsBuilder.put(() => CouponCenterController())),
    GetPage(
        title: '优惠券说明',
        name: couponExplain,
        page: () => const CouponExplainPage(),
        binding: BindingsBuilder.put(() => CouponExplainController())),
    GetPage(
        title: '优惠券详情',
        name: couponInfo,
        page: () => const CouponInfoPage(),
        binding: BindingsBuilder.put(() => CouponInfoController())),
    GetPage(
        title: '优惠券',
        name: mineCouponList,
        page: () => const MineCouponListPage(),
        binding: BindingsBuilder.put(() => MineCouponListController())),
    GetPage(
        title: '签到',
        name: mineSignIn,
        page: () => const MineSignInPage(),
        binding: BindingsBuilder.put(() => MineSignInController())),
    GetPage(
        title: '签到规则',
        name: mineSignRule,
        page: () => const MineSignRulePage(),
        binding: BindingsBuilder.put(() => MineSignRuleController())),
    GetPage(
        title: '账户设置',
        name: mineSettingAccount,
        page: () => const MineSettingAccountPage(),
        binding: BindingsBuilder.put(() => MineSettingAccountController())),
    GetPage(
        title: '手势解码',
        name: mineSettingGesture,
        page: () => const MineSettingGesturePage(),
        binding: BindingsBuilder.put(() => MineSettingGestureController())),
    GetPage(
        title: '用户信息',
        name: mineSettingInfo,
        page: () => const MineSettingInfoPage(),
        binding: BindingsBuilder.put(() => MineSettingInfoController())),
    GetPage(
        title: '实名认证',
        name: mineSettingIdentification,
        page: () => const MineSettingIdentificationPage(),
        binding: BindingsBuilder.put(() => MineSettingIdentificationController())),
    GetPage(
        title: '关注',
        name: mineAttention,
        page: () => const MineAttentionPage(),
        binding: BindingsBuilder.put(() => MineAttentionController())),
    GetPage(
        title: '粉丝',
        name: mineFans,
        page: () => const MineFansPage(),
        binding: BindingsBuilder.put(() => MineFansController())),
    GetPage(
        title: '我的收藏',
        name: mineCollect,
        page: () => const MineCollectPage(),
        binding: BindingsBuilder.put(() => MineCollectController())),
    GetPage(
        title: '我的足迹',
        name: mineFootmark,
        page: () => const MineFootmarkPage(),
        binding: BindingsBuilder.put(() => MineFootmarkController())),
    GetPage(
        title: '意见反馈',
        name: mineOpinionFeedback,
        page: () => const MineOpinionFeedbackPage(),
        binding: BindingsBuilder.put(() => MineOpinionFeedbackController())),
    GetPage(
        title: '会员中心',
        name: memberCenter,
        page: () => const MemberCenterPage(),
        binding: BindingsBuilder.put(() => MemberCenterController())),
    GetPage(
        title: '成长值记录',
        name: memberCenterGrow,
        page: () => const MemberCenterGrowPage(),
        binding: BindingsBuilder.put(() => MemberCenterGrowController())),
    GetPage(
        title: '任务中心',
        name: memberCenterTask,
        page: () => const MemberCenterTaskPage(),
        binding: BindingsBuilder.put(() => MemberCenterTaskController())),
    GetPage(
        title: '会员成长体系',
        name: memberCenterQuestion,
        page: () => const MemberCenterQuestionPage(),
        binding: BindingsBuilder.put(() => MemberCenterQuestionController())),
    GetPage(
        title: '品牌专区',
        name: brandZone,
        page: () => const BrandZonePage(),
        binding: BindingsBuilder.put(() => BrandZoneController())),
    GetPage(
        title: '品牌分类',
        name: brandClassify,
        page: () => const BrandClassifyPage(),
        binding: BindingsBuilder.put(() => BrandClassifyController())),
    GetPage(
        title: '品牌详情',
        name: brandInfo,
        page: () => const BrandInfoPage(),
        binding: BindingsBuilder.put(() => BrandInfoController())),
    GetPage(
        title: '品牌制造商',
        name: brandManufacture,
        page: () => const BrandManufacturePage(),
        binding: BindingsBuilder.put(() => BrandManufactureController())),
    GetPage(
        title: '优惠精选',
        name: favorableChoice,
        page: () => const FavorableChoicePage(),
        binding: BindingsBuilder.put(() => FavorableChoiceController())),
    GetPage(
        title: '购物车',
        name: shopCart,
        page: () => const ShopCartPage(),
        binding: BindingsBuilder.put(() => ShopCartController())),
    GetPage(
        title: '商品列表',
        name: shopList,
        page: () => const ShopListPage(),
        binding: BindingsBuilder.put(() => ShopListController())),
    GetPage(
        title: '新品推荐',
        name: shopNews,
        page: () => const ShopNewsPage(),
        binding: BindingsBuilder.put(() => ShopNewsController())),
    GetPage(
        title: '商品详情(普通)',
        name: productNormalInfo,
        page: () => const NormalInfoPage(),
        binding: BindingsBuilder.put(() => NormalInfoController())),
    GetPage(
        title: '未填写联系人',
        name: systemOrderConfirmUnContact,
        page: () => const OrderConfirmUnContactPage(),
        binding: BindingsBuilder.put(() => OrderConfirmUnContactController())),
    GetPage(
        title: '订单列表',
        name: systemOrderList,
        page: () => const SystemOrderListPage(),
        binding: BindingsBuilder.put(() => SystemOrderListController())),
    GetPage(
        title: '收货地址',
        name: addressReceive,
        page: () => const AddressReceivePage(),
        binding: BindingsBuilder.put(() => AddressReceiveController())),
    GetPage(
        title: '编辑地址',
        name: addressEdit,
        page: () => const AddressEditPage(),
        binding: BindingsBuilder.put(() => AddressEditController())),
    GetPage(
        title: '添加地址',
        name: addressAdd,
        page: () => const AddressAddPage(),
        binding: BindingsBuilder.put(() => AddressAddController())),
    GetPage(
        title: '地址管理',
        name: addressManage,
        page: () => const AddressManagePage(),
        binding: BindingsBuilder.put(() => AddressManageController())),
    GetPage(
        title: '幸运抽奖',
        name: luckyDraw,
        page: () => const LuckyDrawPage(),
        binding: BindingsBuilder.put(() => LuckyDrawController())),
    GetPage(
        title: '抽奖规则',
        name: luckyRule,
        page: () => const LuckyRulePage(),
        binding: BindingsBuilder.put(() => LuckyRuleController())),
    GetPage(
        title: '抽奖记录',
        name: luckyRecord,
        page: () => const LuckyRecordPage(),
        binding: BindingsBuilder.put(() => LuckyRecordController())),
    GetPage(
        title: '手机充值',
        name: telephoneCharge,
        page: () => const TelephoneChargePage(),
        binding: BindingsBuilder.put(() => TelephoneChargeController())),
    GetPage(
        title: '发票助手',
        name: invoiceAssistant,
        page: () => const InvoiceAssistantPage(),
        binding: BindingsBuilder.put(() => InvoiceAssistantController())),
    GetPage(
        title: '发票抬头',
        name: invoiceRise,
        page: () => const InvoiceRisePage(),
        binding: BindingsBuilder.put(() => InvoiceRiseController())),
    GetPage(
        title: '发票抬头',
        name: invoiceModify,
        page: () => const InvoiceModifyPage(),
        binding: BindingsBuilder.put(() => InvoiceModifyController())),
    GetPage(
        title: '发票说明',
        name: invoiceExplain,
        page: () => const InvoiceExplainPage(),
        binding: BindingsBuilder.put(() => InvoiceExplainController())),
    GetPage(
        title: '开具发票',
        name: invoiceIssue,
        page: () => const InvoiceIssuePage(),
        binding: BindingsBuilder.put(() => InvoiceIssueController())),
    GetPage(
        title: '交易物流',
        name: messageTrade,
        page: () => const MessageTradePage(),
        binding: BindingsBuilder.put(() => MessageTradeController())),
    GetPage(
        title: '通知消息',
        name: messageNotice,
        page: () => const MessageNoticePage(),
        binding: BindingsBuilder.put(() => MessageNoticeController())),
    GetPage(
        title: '互动消息',
        name: messageInteract,
        page: () => const MessageInteractPage(),
        binding: BindingsBuilder.put(() => MessageInteractController())),
    GetPage(
        title: '发表评论',
        name: communityPublish,
        page: () => const CommunityPublishPage(),
        binding: BindingsBuilder.put(() => CommunityPublishController())),
    GetPage(
        title: '社区话题',
        name: communityTopic,
        page: () => const CommunityTopicPage(),
        binding: BindingsBuilder.put(() => CommunityTopicController())),
    GetPage(
        title: '话题详情',
        name: communityTopicInfo,
        page: () => const CommunityTopicInfoPage(),
        binding: BindingsBuilder.put(() => CommunityTopicInfoController())),
    GetPage(
        title: '话题评论',
        name: communityTopicComment,
        page: () => const CommunityTopicCommentPage(),
        binding: BindingsBuilder.put(() => CommunityTopicCommentController())),
    GetPage(
        title: '店铺列表',
        name: storeList,
        page: () => const StoreListPage(),
        binding: BindingsBuilder.put(() => StoreListController())),
    GetPage(
        title: '店铺首页',
        name: storeHome,
        page: () => const StoreHomePage(),
        binding: BindingsBuilder.put(() => StoreHomeController())),
    GetPage(
        title: '邀请有礼',
        name: inviteGift,
        page: () => const InviteGiftPage(),
        binding: BindingsBuilder.put(() => InviteGiftController())),
    GetPage(
        title: '邀请明细',
        name: inviteDetail,
        page: () => const InviteDetailPage(),
        binding: BindingsBuilder.put(() => InviteDetailController())),
    GetPage(
        title: '退款售后',
        name: saleRefund,
        page: () => const SaleRefundPage(),
        binding: BindingsBuilder.put(() => SaleRefundController())),
    GetPage(
        title: '退款详情',
        name: saleRefundInfo,
        page: () => const SaleRefundInfoPage(),
        binding: BindingsBuilder.put(() => SaleRefundInfoController())),
    GetPage(
        title: '换货详情',
        name: saleBarterInfo,
        page: () => const SaleBarterInfoPage(),
        binding: BindingsBuilder.put(() => SaleBarterInfoController())),
    GetPage(
        title: '评价中心',
        name: evaluateCenter,
        page: () => const EvaluateCenterPage(),
        binding: BindingsBuilder.put(() => EvaluateCenterController())),
    GetPage(
        title: '发表评价',
        name: evaluatePublish,
        page: () => const EvaluatePublishPage(),
        binding: BindingsBuilder.put(() => EvaluatePublishController())),
    GetPage(
        title: '我的钱包',
        name: walletMine,
        page: () => const WalletMinePage(),
        binding: BindingsBuilder.put(() => WalletMineController())),
    GetPage(
        title: '银行卡列表',
        name: walletBankList,
        page: () => const WalletBankPage(),
        binding: BindingsBuilder.put(() => WalletBankListController())),
    GetPage(
        title: '卡包',
        name: walletCardCase,
        page: () => const WalletCardCasePage(),
        binding: BindingsBuilder.put(() => WalletCardCaseController())),
    GetPage(
        title: '服务中心',
        name: serviceCenter,
        page: () => const ServiceCenterPage(),
        binding: BindingsBuilder.put(() => ServiceCenterController())),
    GetPage(
        title: '秒杀',
        name: seckillList,
        page: () => const SeckillListPage(),
        binding: BindingsBuilder.put(() => SeckillListController())),
    GetPage(
        title: '搜索',
        name: searchProduct,
        page: () => const SearchProductPage(),
        binding: BindingsBuilder.put(() => SearchProductController())),
    GetPage(
        title: '搜索结果',
        name: searchResult,
        page: () => const SearchResultPage(),
        binding: BindingsBuilder.put(() => SearchResultController())),
    GetPage(
        title: '人气推荐',
        name: recommendedPopularity,
        page: () => const RecommendedPopularityPage(),
        binding: BindingsBuilder.put(() => RecommendedPopularityController())),
  ];
}
